package com.qmq.app.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 用户
 * @author Mark sunlightcs@gmail.com
 */
@Data
@Builder
@TableName("tb_user")
@NoArgsConstructor
@AllArgsConstructor
public class UserEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId
    @TableField("user_id")
    private Long userId;
    /**
     * 用户名
     */
    @TableField("username")
    private String username;
    /**
     * 手机号
     */
    @TableField("mobile")
    private String mobile;
    /**
     * 密码
     */
    @TableField("password")
    private String password;
    /**
     * 头像
     */
    @TableField("header")
    private String header;
    /**
     * 邀请码
     */
    @TableField("code")
    private String code;
    /**
     * 父ID
     */
    @TableField("parent_id")
    private Long parentId;

    /**
     * 邀请我的
     */
    @TableField(exist = false)
    private UserEntity parent;

    /**
     * 我邀请的
     */
    @TableField(exist = false)
    private List<UserEntity> invitees;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

}
